#ifndef IMAGEM_H_
#define IMAGEM_H_

#include <highgui.h>
#include <cv.h>

#define WIDTH 640
#define HEIGHT 480
#define JANELA "Vídeo"
#define LASER_BRILHO 0.3
#define LASER_CONTRASTE 0.7
#define NORMAL_BRILHO 0.3
#define NORMAL_CONTRASTE 0.5

typedef struct {
	CvCapture* capture;
	IplImage* frame;
	CvPoint laser;
    short int deviceno;
} Imagem;

typedef struct {
    int c1;
    int c2;
    int c3;
} Cor;

void ImagemInicializar(Imagem* img);
short int ImagemConectar(Imagem* img, short int deviceno);
short int ImagemVerificarConexao(Imagem *img);
void ImagemLiberar(Imagem* img);
short int ImagemDetectarLaser(Imagem* img);
void ImagemDestacarLaser(Imagem* img);
void ImagemAbrirJanela();
void ImagemFecharJanela();
void ImagemExibir(Imagem* img);
IplImage *ImagemObterDados(Imagem* img);
void ImagemObterCor(Imagem* img, Cor *rgb, Cor *hsv, int x, int y);
void ImagemSalvar(Imagem* img, char* arquivo);
inline void ImagemAlterarContraste(Imagem* img, double contraste);
inline void ImagemAlterarBrilho(Imagem* img, double brilho);

#endif
